{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bryson Denham Benchmark\n",
    "\n",
    "$\\min J = \\frac{1}{2} \\; \\int_0^1 u^2(t) dt$\n",
    "\n",
    "$\\mathrm{subject\\;to}$\n",
    "\n",
    "$\\frac{dx(t)}{dt} = v(t) $\n",
    "\n",
    "$\\frac{dv(t)}{dt} = u(t) $\n",
    "\n",
    "$x(0) \\; = \\; x(1) \\; = \\; 0$\n",
    "\n",
    "$v(0) \\; = \\; -v(1) \\; = \\; 1$\n",
    "\n",
    "$x(t) \\le \\ell, \\; \\ell=\\frac{1}{9}$\n",
    "\n",
    "### Import Packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from gekko import GEKKO"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "m = GEKKO(remote=False)\n",
    "nt = 101; m.time = np.linspace(0,1,nt)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Variables\n",
    "\n",
    "$x(0) \\; = \\; 0$\n",
    "\n",
    "$v(0) \\;= \\; 1$\n",
    "\n",
    "$x(t) \\le \\ell, \\; \\ell=\\frac{1}{9}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = m.Var(value=0,ub=1/9)\n",
    "v = m.Var(value=1)\n",
    "u = m.Var(value=-6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Equations\n",
    "\n",
    "$\\frac{dx(t)}{dt} = v(t) $\n",
    "\n",
    "$\\frac{dv(t)}{dt} = u(t) $"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<gekko.gekko.EquationObj at 0x215bb700f48>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m.Equation(x.dt()==v)\n",
    "m.Equation(v.dt()==u)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Final Conditions\n",
    "\n",
    "$x(1) \\; = \\; 0$\n",
    "\n",
    "$v(1) \\; = \\; -1$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Final conditions\n",
    "p = np.zeros(nt); p[-1] = 1.0\n",
    "final = m.Param(value=p)\n",
    "\n",
    "soft = True\n",
    "if soft:\n",
    "    # soft terminal constraint\n",
    "    m.Minimize(final*1e5*x**2)\n",
    "    m.Minimize(final*1e5*(v+1)**2)\n",
    "else:\n",
    "    # hard terminal constraint\n",
    "    xf = m.Param();    vf = m.Param()\n",
    "    m.free(xf);        m.free(vf)\n",
    "    m.fix_final(xf,0); m.fix_final(vf,-1)\n",
    "    # connect endpoint parameters to x and v\n",
    "    m.Equations([xf==x,vf==v])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Objective Function\n",
    "\n",
    "$\\min J = \\frac{1}{2} \\; \\int_0^1 u^2(t) dt$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "obj = m.Intermediate(0.5*m.integral(u**2))\n",
    "m.Minimize(final*obj)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Solve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " ----------------------------------------------------------------\n",
      " APMonitor, Version 0.9.2\n",
      " APMonitor Optimization Suite\n",
      " ----------------------------------------------------------------\n",
      " \n",
      " \n",
      " --------- APM Model Size ------------\n",
      " Each time step contains\n",
      "   Objects      :  0\n",
      "   Constants    :  0\n",
      "   Variables    :  6\n",
      "   Intermediates:  2\n",
      "   Connections  :  0\n",
      "   Equations    :  9\n",
      "   Residuals    :  7\n",
      " \n",
      " Number of state variables:    900\n",
      " Number of total equations: -  800\n",
      " Number of slack variables: -  0\n",
      " ---------------------------------------\n",
      " Degrees of freedom       :    100\n",
      " \n",
      " **********************************************\n",
      " Dynamic Control with Interior Point Solver\n",
      " **********************************************\n",
      "  \n",
      "  \n",
      " Info: Exact Hessian\n",
      "\n",
      "******************************************************************************\n",
      "This program contains Ipopt, a library for large-scale nonlinear optimization.\n",
      " Ipopt is released as open source code under the Eclipse Public License (EPL).\n",
      "         For more information visit http://projects.coin-or.org/Ipopt\n",
      "******************************************************************************\n",
      "\n",
      "This is Ipopt version 3.10.2, running with linear solver mumps.\n",
      "\n",
      "Number of nonzeros in equality constraint Jacobian...:     1996\n",
      "Number of nonzeros in inequality constraint Jacobian.:        0\n",
      "Number of nonzeros in Lagrangian Hessian.............:      300\n",
      "\n",
      "Total number of variables............................:      900\n",
      "                     variables with only lower bounds:        0\n",
      "                variables with lower and upper bounds:        0\n",
      "                     variables with only upper bounds:      100\n",
      "Total number of equality constraints.................:      800\n",
      "Total number of inequality constraints...............:        0\n",
      "        inequality constraints with only lower bounds:        0\n",
      "   inequality constraints with lower and upper bounds:        0\n",
      "        inequality constraints with only upper bounds:        0\n",
      "\n",
      "iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls\n",
      "   0 4.0000000e+005 3.60e+001 4.38e-002   0.0 0.00e+000    -  0.00e+000 0.00e+000   0\n",
      "   1 1.3596797e+005 1.43e+001 4.16e+000  -0.5 2.47e+001    -  2.63e-001 1.00e+000f  1\n",
      "   2 7.0126898e+001 3.83e+004 7.58e-002  -6.8 1.21e+003    -  9.58e-001 1.00e+000f  1\n",
      "   3 3.3140315e+001 8.75e+003 7.07e-003  -8.0 2.26e+003    -  9.32e-001 1.00e+000h  1\n",
      "   4 7.5764339e+000 2.62e+003 4.43e-003  -8.8 2.57e+003    -  8.99e-001 1.00e+000h  1\n",
      "   5 3.9591076e+000 6.96e+002 4.31e-003  -9.4 4.71e+002    -  7.80e-001 1.00e+000h  1\n",
      "   6 4.8933712e+000 1.42e+002 4.29e-011  -5.4 6.11e+001    -  1.00e+000 1.00e+000h  1\n",
      "   7 3.3948518e+000 4.75e+001 2.35e-012  -6.6 7.49e+001    -  1.00e+000 1.00e+000h  1\n",
      "   8 3.9407982e+000 4.71e+000 3.68e-012  -6.4 9.05e+000    -  1.00e+000 1.00e+000h  1\n",
      "   9 4.0167468e+000 1.82e-001 1.34e-012  -6.9 2.66e+000    -  1.00e+000 1.00e+000h  1\n",
      "iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls\n",
      "  10 4.0150692e+000 2.16e-002 6.10e-013  -7.2 6.94e-001    -  1.00e+000 1.00e+000h  1\n",
      "  11 4.0103495e+000 8.01e-003 2.50e-013  -7.6 1.38e-001    -  1.00e+000 1.00e+000h  1\n",
      "  12 4.0089511e+000 4.35e-003 1.11e-013  -8.0 7.47e-002    -  1.00e+000 1.00e+000h  1\n",
      "  13 4.0083872e+000 4.54e-003 4.88e-014  -8.3 6.74e-002    -  1.00e+000 1.00e+000h  1\n",
      "  14 4.0081409e+000 1.93e-003 2.07e-014  -8.7 4.39e-002    -  1.00e+000 1.00e+000h  1\n",
      "  15 4.0080246e+000 5.92e-004 7.47e-015  -9.1 2.43e-002    -  1.00e+000 1.00e+000h  1\n",
      "  16 4.0079906e+000 8.58e-005 4.26e-015  -9.4 1.05e-002    -  1.00e+000 1.00e+000h  1\n",
      "  17 4.0079708e+000 1.72e-004 1.81e-015  -9.7 1.31e-002    -  1.00e+000 1.00e+000h  1\n",
      "  18 4.0079614e+000 8.91e-005 1.28e-015 -10.2 9.44e-003    -  1.00e+000 1.00e+000h  1\n",
      "  19 4.0079580e+000 3.85e-005 2.66e-015 -10.7 6.21e-003    -  1.00e+000 1.00e+000h  1\n",
      "iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls\n",
      "  20 4.0079572e+000 1.18e-005 1.73e-015 -11.0 3.43e-003    -  1.00e+000 1.00e+000h  1\n",
      "  21 4.0079572e+000 8.83e-007 1.71e-015 -11.0 9.40e-004    -  1.00e+000 1.00e+000h  1\n",
      "\n",
      "Number of Iterations....: 21\n",
      "\n",
      "                                   (scaled)                 (unscaled)\n",
      "Objective...............:  1.0019892900081668e-003   4.0079571600326673e+000\n",
      "Dual infeasibility......:  1.7078352620991666e-015   6.8313410483966663e-012\n",
      "Constraint violation....:  8.8315097088833606e-007   8.8315097088833606e-007\n",
      "Complementarity.........:  1.0358128416681608e-011   4.1432513666726432e-008\n",
      "Overall NLP error.......:  8.8315097088833606e-007   8.8315097088833606e-007\n",
      "\n",
      "\n",
      "Number of objective function evaluations             = 22\n",
      "Number of objective gradient evaluations             = 22\n",
      "Number of equality constraint evaluations            = 22\n",
      "Number of inequality constraint evaluations          = 0\n",
      "Number of equality constraint Jacobian evaluations   = 22\n",
      "Number of inequality constraint Jacobian evaluations = 0\n",
      "Number of Lagrangian Hessian evaluations             = 21\n",
      "Total CPU secs in IPOPT (w/o function evaluations)   =      0.108\n",
      "Total CPU secs in NLP function evaluations           =      0.197\n",
      "\n",
      "EXIT: Optimal Solution Found.\n",
      "\n",
      " The solution was found.\n",
      "\n",
      " The final value of the objective function is  4.007957160032667\n",
      " \n",
      " ---------------------------------------------------\n",
      " Solver         :  IPOPT (v3.12)\n",
      " Solution time  :  0.3054 sec\n",
      " Objective      :  4.007957160032667\n",
      " Successful solution\n",
      " ---------------------------------------------------\n",
      " \n",
      "\n"
     ]
    }
   ],
   "source": [
    "m.options.IMODE = 6\n",
    "m.options.NODES = 2\n",
    "m.solve()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Create a figure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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NTKe6mM81cfEVCPjqUbGC1kfLTqqKiIiIiIiIrkqH0/1FBERERERyStq/ERERERERHKcGj8REREREZEcp8ZPREREREQkx6nxExERERERyXFq/EQyjJk1NrMPYrdvzezr2PZaMxsfOp+IiEgIqo8iO0fLOYhkMDO7AVjr7reHziIiIpIpVB9Fqk5H/ESyhJkdZ2ZPx7ZvMLPJZvaCmS0xs1PN7FYzKzaz2WZWK7bfYWY218zmm9nzZtYk7E8hIiJSvVQfRZKjxk8ke7UCfgv0BKYCL7t7e2AD8NtYcbsLOM3dDwMmASNDhRUREUkT1UeRBGqGDiAiO+w5d//JzIqBAmB27PFioAVwAHAw8KKZEdtneYCcIiIi6aT6KJKAGj+R7FUG4O5bzOwn/88Fu1uI/m0bsNDdu4QKKCIiEoDqo0gCOtVTJHd9BhSaWRcAM6tlZu0CZxIREQlN9VHykho/kRzl7puA04BbzGwB8AFwZNhUIiIiYak+Sr7Scg4iIiIiIiI5Tkf8REREREREcpwaPxERERERkRynxk9ERERERCTHqfETERERERHJcWr8REREREREcpwaPxERERERkRynxk9ERERERCTHqfETERERERHJcf8fNFR/RU110SYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1080x576 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(15,8))\n",
    "plt.subplot(2,2,1)\n",
    "plt.plot([0,1],[1/9,1/9],'r:',label=r'$x<\\frac{1}{9}$')\n",
    "plt.plot(m.time,x.value,'k-',lw=2,label=r'$x$')\n",
    "plt.ylabel('Position')\n",
    "plt.legend(loc='best')\n",
    "plt.subplot(2,2,2)\n",
    "plt.plot(m.time,v.value,'b--',lw=2,label=r'$v$')\n",
    "plt.ylabel('Velocity')\n",
    "plt.legend(loc='best')\n",
    "plt.subplot(2,2,3)\n",
    "plt.plot(m.time,u.value,'r--',lw=2,label=r'$u$')\n",
    "plt.ylabel('Thrust')\n",
    "plt.legend(loc='best')\n",
    "plt.xlabel('Time')\n",
    "plt.subplot(2,2,4)\n",
    "plt.plot(m.time,obj.value,'g-',lw=2,label=r'$\\frac{1}{2} \\int u^2$')\n",
    "plt.text(0.5,3.0,'Final Value = '+str(np.round(obj.value[-1],2)))\n",
    "plt.ylabel('Objective')\n",
    "plt.legend(loc='best')\n",
    "plt.xlabel('Time')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
